1. Field of the Invention
The present invention relates to a print data processing apparatus for an image forming apparatus, and more particularly, to a print data processing apparatus for an image forming apparatus such as a printer controller for generating character dot image data to be printed on a piece of printing paper.
2. Description of the Related Art
Generally speaking, a printer controller provided in a printer develops character data and graphic data etc. into dot image data on a bit map memory according to character data, graphic data and various kinds of commands which have been received from a host computer so as to store them therein, and then, sends to a print head section of a printer the developed dot image data so as to print the dot image thereof on a piece of printing paper.
Conventionally, the printer controller has a bit map memory having a memory capacity of one page, and develops dot image data of one page on the bit map memory according to character data and graphic data which have been received from the host computer. Then, after the development of one page thereon is completed, the dot image data are sent to the print head section. Since the printer controller is constructed as described above, there is no problem caused by a difference between a timing when the dot image data are developed onto the bit map memory and a timing when the dot image data are sent to the print head section.
In the conventional printer controller of this type, when the dot image data are transferred to the print head section, all the dot image data of one page to be outputted thereto have been already developed on the bit map memory. Therefore, the dot image data are transferred to the print head section at a high speed in synchronous with printing them on a piece of printing paper by the print head section.
In order to output the dot image data to the print head section in a higher speed, it is necessary to shorten the time necessary for developing the dot image data on the bit map memory as soon as possible. However, generally, in the case of processing graphic data, it takes a relatively long time to receive the graphic data because of much amount of data. Particularly, in the case of processing vector graphic data, it takes an extremely long time to analyze commands and to develop the vector graphic data into the dot image data on the bit map memory.
In order to solve the above-mentioned problems, the graphic data can be processed in a higher speed by utilizing an LSI used only for developing the dot image data on the bit map memory, however, the cost thereof increases.
On the other hand, in the case of processing the graphic image data by software, if all the processes such as the analysis of the commands and the development of the dot image data are performed in synchronous with outputting the dot image data to the print head section, the dot image data can not be outputted thereto in a high speed.
In order to lighten the load to be applied onto the printer controller upon developing the data received from the host computer into the dot image data on the bit map memory, an intermediate process is performed such as a process for storing intermediate data in an intermediate data storing memory after converting the received data into the intermediate data.
Upon developing the image data in the printer controller, there may be used such a method that a document of one page is divided into plural n bands in a subscan direction and the document data are processed in a unit of band, wherein n is a positive integer. A printer controller utilizing this method comprises two band memories or two partial bit map memories, each memory having a memory capacity which is 1/n of that of the bit map memory of one page. In the printer controller of this type, while dot image data are developed on one band memory, the image data which have been already developed on another band memory are outputted to the print head section, simultaneously. These processes are performed alternately and repeatedly utilizing the two band memories for the document image of the n bands, and then, the print operation for printing the document image of one page on a piece of printing paper is completed.
Even though this method is used, it is necessary to perform the process for developing the dot image data onto the band memory prior to outputting them to the print head section. Therefore, the speed at which the data are outputted to the print head section is limited by the speed at which the dot image data are developed onto the band memory. Accordingly, in order to perform the process for developing the dot image data thereon in a high speed, the data received from the host computer may be once converted into intermediate data. The intermediate data are composed of character data to be developed onto the band memory and information of graphic data such as the size thereof, the source address.
In the printer controller utilizing this method, it is necessary to develop the dot image data on respective band memories in a high speed. Therefore, it is necessary to convert the received data into the intermediate data of one page necessary for developing them prior to printing them on a piece of printing paper. Further, it is desirable to access the intermediate data stored in respective band memories as continuous as possible. Accordingly, it is necessary to set a memory area for storing the intermediate data for respective bands of a document of one page.
However, in the conventional method for setting each memory area for storing the intermediate data in the intermediate data storing memory after dividing the whole memory area into the same area for each band, in the case of a document where image data are deviated to one side, the intermediate data of a band having much print data can not be stored therein. Further, in the case of a band having little print data or no print data, there is caused such a state that a memory area larger than that necessary for storing the intermediate data is set or established therein. If a memory area larger than that necessary for storing the intermediate data is set or established therein, the efficiency upon using the memory is lowered. Therefore, it is necessary to provide a method for setting a large memory area when necessary in the case of a band having much print data, in order to manage the data more efficiently. However, in a method for increasing the storing memory area every one unit of data, it takes a long time to retrieve the storing memory area within the whole memory.
Further, in a method for printing dot image data utilizing the band memories, in the case of printing plural documents on a piece of printing paper such as the both sides printing, or in the case of returning from a paper jam, the time permissible for editing the document may be limited in the view of the time necessary for printing plural documents. In order to solve the above-mentioned these problems completely, it is necessary to edit data of necessary plural documents such as documents of two pages in the case of the both sides printing prior to outputting the dot image data to the print head section. Therefore, it is necessary to manage the intermediate data of plural documents.